【AWS】Sophos UTMを使ってFQDN(ELB)宛先でSSL-VPNスプリットトンネリング #Sophos
コカコーラが大好きなカジです。
本日はSophos UTMのSSL-VPN接続する際に、指定されたFQDN宛への通信のみVPN接続する方法をご紹介します。
一昔前のSSL-VPN製品だとできない機能でしたが、今は可能だということに驚いています。
構成図
VPC、EC2、ELBを構築し、ELBのDNS名を「www.kajihiroyuki.classmethod.info」になるようにRoute53へエイリアス登録しています。
Sophos UTMと、WindowsのSSL-VPNセットアップ
【AWS】統合脅威管理「Sophos UTM」を使ってVPCへSSL-VPN接続する(Windows7編)
基本的に上記手順で登録しますが、以下の箇所だけ異なります。
追加設定項目
Sophos UTMにてDNSの名前解決可否をチェック
名前解決不可の場合は、VPCの設定か、Route53などの設定に誤りがあると思いますので確認ください。
ネットワーク定義にて宛先のFQDNを登録
登録時に「DNSホスト」で登録してしまうと、1IPでしか通信しなくなるため必ず、DNSグループで登録しましょう。
NAT設定を追加し、SSL-VPN ClientアドレスをSophos UTMのElastic IPへIPマスカレード
SSL-VPNの「ローカルネットワーク設定」へ最初に追加した宛先用の「ネットワーク定義」を追加
通信確認
ELBのIPアドレス確認
% dig www.kajihiroyuki.classmethod.info a +answer <省略> ;; QUESTION SECTION: ;www.kajihiroyuki.classmethod.info. IN A ;; ANSWER SECTION: www.kajihiroyuki.classmethod.info. 3 IN A 54.64.254.67 www.kajihiroyuki.classmethod.info. 3 IN A 52.68.236.120 www.kajihiroyuki.classmethod.info. 3 IN A 52.69.116.5 www.kajihiroyuki.classmethod.info. 3 IN A 54.64.44.235 <省略>
Windowsの場合
SSL-VPNを接続して状態を確認します。
C:¥>ipconfig /all <省略> イーサネット アダプター イーサネット: 接続固有の DNS サフィックス . . . . .: 説明. . . . . . . . . . . . . . . . .: TAP-Windows Adapter V9 物理アドレス. . . . . . . . . . . . .: 00-FF-DF-62-7D-DF DHCP 有効 . . . . . . . . . . . . . .: はい 自動構成有効. . . . . . . . . . . . .: はい リンクローカル IPv6 アドレス. . . . .: fe80::b8cd:b6d4:4eda:c42c%20(優先) IPv4 アドレス . . . . . . . . . . . .: 10.242.2.10(優先) サブネット マスク . . . . . . . . . .: 255.255.255.252 リース取得. . . . . . . . . . . . . .: 2015年9月11日 22:01:08 リースの有効期限. . . . . . . . . . .: 2016年9月10日 22:01:08 デフォルト ゲートウェイ . . . . . . .: DHCP サーバー . . . . . . . . . . . .: 10.242.2.9 DHCPv6 IAID . . . . . . . . . . . . .: 335609823 <省略> C:¥>netstat -rn =========================================================================== インターフェイス一覧 20...00 ff df 62 7d df ......TAP-Windows Adapter V9 <省略> =========================================================================== IPv4 ルート テーブル =========================================================================== アクティブ ルート: ネットワーク宛先 ネットマスク ゲートウェイ インターフェイ ス メトリック 0.0.0.0 0.0.0.0 192.168.159.2 192.168.159.148 10 10.10.0.0 255.255.0.0 10.242.2.9 10.242.2.10 2 10.242.2.1 255.255.255.255 10.242.2.9 10.242.2.10 2 10.242.2.8 255.255.255.252 リンク上 10.242.2.10 257 10.242.2.10 255.255.255.255 リンク上 10.242.2.10 257 10.242.2.11 255.255.255.255 リンク上 10.242.2.10 257 52.68.236.120 255.255.255.255 10.242.2.9 10.242.2.10 2 *ココ 52.69.116.5 255.255.255.255 10.242.2.9 10.242.2.10 2 *ココ 52.69.119.172 255.255.255.255 192.168.159.2 192.168.159.148 11 54.64.44.235 255.255.255.255 10.242.2.9 10.242.2.10 2 *ココ 54.64.254.67 255.255.255.255 10.242.2.9 10.242.2.10 2 *ココ 127.0.0.0 255.0.0.0 リンク上 127.0.0.1 306 127.0.0.1 255.255.255.255 リンク上 127.0.0.1 306 <省略>
MacOSの場合
% ifconfig utun0 utun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500 inet 10.242.2.6 --> 10.242.2.5 netmask 0xffffffff % netstat -rn -f inet Routing tables Internet: Destination Gateway Flags Refs Use Netif Expire default 172.16.0.254 UGSc 23 1 en0 10.10/16 10.242.2.5 UGSc 0 0 utun0 10.242.2.1/32 10.242.2.5 UGSc 0 0 utun0 10.242.2.5 10.242.2.6 UH 6 0 utun0 52.68.236.120/32 10.242.2.5 UGSc 0 0 utun0 *ココ 52.69.116.5/32 10.242.2.5 UGSc 0 0 utun0 *ココ 52.69.119.172/32 172.16.0.254 UGSc 1 0 en0 54.64.44.235/32 10.242.2.5 UGSc 0 0 utun0 *ココ 54.64.254.67/32 10.242.2.5 UGSc 0 0 utun0 *ココ 127 127.0.0.1 UCS 0 16 lo0 127.0.0.1 127.0.0.1 UH 16 36310 lo0 <省略> %
SSL-VPNクライアントから、ブラウザアクセス後、ELBのログで確認
ELBのアクセスログを確認し、Sophos UTMのElastic IPからのアクセスされたことを確認します。
2015-09-11T13:07:39.377570Z test 52.69.xxx.xxx:49258 10.10.12.67:80 0.000042 0.002736 0.000022 200 200 0 173 "GET http://www.kajihiroyuki.classmethod.info:80/ HTTP/1.1" "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; Touch; rv:11.0) like Gecko" - -
まとめ
検証環境のRoute53に別な検証の設定が入っていて、検証がすんなりいかず、解決までに遠回りしてしまったので、確認方法に盛り込みました。
FQDN宛先指定でSSL-VPNできない場合は、宛先ネットワークにELBを利用するアドレス範囲すべてを登録することを考えましたが、アドレス登録に手間がかかるので、この機能が利用できて安心しました。